import * as React from 'react'; import { AutocompleteProps, Flex, SelectField, SwitchField, TextField, } from '@aws-amplify/ui-react'; export interface AutocompletePropControlsProps extends AutocompleteProps { setLabel: (value: React.SetStateAction) => void; setPlaceholder: ( value: React.SetStateAction ) => void; setSize: (value: React.SetStateAction) => void; setVariation: ( value: React.SetStateAction ) => void; setLabelHidden: ( value: React.SetStateAction ) => void; setIsDisabled: ( value: React.SetStateAction ) => void; setIsLoading: ( value: React.SetStateAction ) => void; } interface AutocompletePropControlsInterface { (props: AutocompletePropControlsProps): JSX.Element; } export const AutocompletePropControls: AutocompletePropControlsInterface = ({ label, setLabel, placeholder, setPlaceholder, size, setSize, variation, setVariation, labelHidden, setLabelHidden, isDisabled, setIsDisabled, isLoading, setIsLoading, }) => { return ( { setLabel(event.target.value as AutocompleteProps['label']); }} /> { setPlaceholder( event.target.value as AutocompleteProps['placeholder'] ); }} /> setSize(event.target.value as AutocompleteProps['size']) } > setVariation( event.target.value as unknown as AutocompleteProps['variation'] ) } > { setIsLoading( Boolean(event.target.checked) as AutocompleteProps['isLoading'] ); }} /> { setLabelHidden( Boolean(event.target.checked) as AutocompleteProps['labelHidden'] ); }} /> { setIsDisabled( Boolean(event.target.checked) as AutocompleteProps['isDisabled'] ); }} /> ); };